package ui.views.property;

import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.IPropertySource;
import org.eclipse.ui.views.properties.PropertyDescriptor;
import org.eclipse.ui.views.properties.TextPropertyDescriptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import atempdao.EgnRstScenarioDao;

import dao.EgnPortfolio;
import dao.EgnRstScenarioId;

public class PortfolioProp implements IPropertySource{
	private final static Logger logger = LoggerFactory.getLogger(PortfolioProp.class);
	private EgnPortfolio port;
	private String posId;
//	private Boolean flag;
	
	public PortfolioProp() {
	}
	public PortfolioProp(EgnPortfolio port) {
		this.port = port;
//		this.posId =
	}

	@Override
	public Object getEditableValue() {
//		return this;
		return null;
		
	}
	
	@Override
	public IPropertyDescriptor[] getPropertyDescriptors() {
		TextPropertyDescriptor key1 = new TextPropertyDescriptor(port.getCompositeKey1(), "01.key1");
		TextPropertyDescriptor key2 = new TextPropertyDescriptor(port.getCompositeKey2(), "02.key2");
		TextPropertyDescriptor key3 = new TextPropertyDescriptor(port.getCompositeKey3(), "03.key3");
//		TextPropertyDescriptor key4 = new TextPropertyDescriptor(port, "04.key4");
//		TextPropertyDescriptor key5 = new TextPropertyDescriptor(port.getCompositeKey5(), "05.key5");
		
		//		Grouping Property
		key1.setCategory("Label");
		key2.setCategory("Label");
		
		
		IPropertyDescriptor[] propDesc = new IPropertyDescriptor[] {
				key1
				,key2
				,key3
//				,key4
//				,key5
//				,mvDesc
//				,coefficientDesc
				};
		
		return propDesc;

	}
	
	@Override
	public Object getPropertyValue(Object property) {
		
		logger.debug("Property:{},{}", property.getClass().toString(),port.getCompositeKey4());
		if(property == null){
			return "null";
		}
		else {
			if (port.getCompositeKey1().equals(property)) 		return property.toString();
			else if (property!=null && port.getCompositeKey2().equals(property)) 	return property.toString();
			else if (port.getCompositeKey3().equals(property)) 	return property.toString();
//			else if (port.equals((EgnPortfolio)property)) 	return ((EgnPortfolio)property).getCompositeKey4();
//			else if (property!=null && port.getCompositeKey5().equals(property)) return property.toString();
		}
		return null;
	}
	
	@Override
	public void setPropertyValue(Object id, Object value) {
//		if (sceSetId.equals(id)) {
//			sceSetId=((String)value);
//		}
//		else if (sce.getSceId().equals(id)) sce.setSceId((String)value);
//		else if (sce.getMarketVari().equals(id)) sce.getMarketVari((String)value);
	}
	
	@Override
	public boolean isPropertySet(Object id) {
		return false;
	}
	
	@Override
	public void resetPropertyValue(Object id) {
//		if(flag){
//			setPropertyValue(id,"aaa");
//		}
	}


}
